The global positioning system is a satellite based navigation system having a network of 24 satellites orbiting the earth 11,000 nautical miles in space, in six evenly distributed orbits. Each satellite orbits the earth every twelve hours, and transmits spread-spectrum signals with it's own individual pseudorandom (PN) code. By transmitting several signals over the same spectrum using distinctly different PN coding sequences, the satellites may share the same bandwidth without interfering with each other. The PN code used in the spread-spectrum signal of the GPS has a length of 1023 chips with the period of 1 msec.
A GPS receiver may, using the different PN sequences, search the signal spectrum to look for a match. If the GPS receiver finds a match, then it will identify the satellite that generated the signal. Most conventional GPS receivers use serial correlators to acquire, track and demodulate signals transmitted from GPS satellites. The signal available for civil use is a 50-bit data per second, BPSK-encoded spread-spectrum signal, having 1.023 Mchip/sec, modulated onto the carrier frequency of 1575.42 MHz.
When attempting to lock onto the GPS signal for position measurement, a GPS receiver must resolve the unknown carrier frequency and code phase uncertainty of the spread-spectrum signals. The unknown carrier frequency arises from the Doppler frequency shift due to relative motion of the satellite and the receiver, and the unknown difference between the GPS receiver's clock frequency and the satellite's frequency. The code phase uncertainty is due to the unknown difference between the GPS receiver's clock and the satellite's clock.
Conventional GPS receivers search for the GPS signal hidden in noise by methods of trial and error, of which the serial correlator generates a replica PN code signal of assumed carrier frequency and code phase, compares the locally generated signal against the received signal over one PN code period, and shifts the locally generated signal half-chip at a time, over 1023 chips, until it matches the received signal. Comparison of the two signals is done by the method of correlation. When a match occurs, the serial correlator outputs a large value. If no match occurs over 1023 chips, the carrier frequency is changed, and the code phase shifting and signal comparison are performed again, until a match is found. Since the GPS PN code period is 1 msec and there are 1023 possible code phases, it requires 1.023 sec to search through all code phases at a single frequency. There may be as many as 36 frequencies to search for each visible satellite on a consumer-grade GPS receiver. Even on a multi-channel GPS receiver, signal detection can be a very time consuming process, especially in low signal-to-noise ratio environment.
To detect an attenuated GPS signal, correlation longer than 1 msec needs to be performed for each frequency and code phase combination. It is well known that as the correlation interval is increased by a factor of N, the frequency step-size of the unknown carrier search needs to be scaled by a factor of 1/N, resulting in the overall search time increased to a factor of N2. Consequently, the signal search time becomes unreasonably long when several milliseconds of correlation is used to detect an attenuated GPS signal.
Recently, new applications of GPS in cellular phones for E911 operation have emerged. They require GPS receivers to operate in difficult environments, such as indoors, and achieve rapid signal detection in matters of seconds. Detecting such highly attenuated signals requires signal correlation to be performed over a much longer period of time, beyond the 10 msec correlation period used for tracking in some conventional GPS receivers. Acquisition of signal using 10 msec of correlation slows the search process by a factor of 100, which is impractical for any use on a conventional GPS receiver.
Due to the 50 bps data modulation on the GPS signal, performance of correlation (or coherent integration) beyond 10 msec degrades. To detect GPS signals indoors, a longer accumulation of the GPS signal is needed to detect signals as weak as −150 dBm. A sequential correlator alone would take about 460 sec to search through all the code phases at a single frequency point. Even on a 16-channel 64-correlator GPS receiver design, the total acquisition time for such kind of weak signal becomes too long to serve any practical purpose.
The overall GPS signal search time is inversely proportional to the number of correlators being used. Thus GPS designers used the technique of time-sharing of common circuits at a higher clock rate, to achieve many-more equivalent-number of correlators, without actually increasing the correlator hardware proportionally. U.S. Pat. No. 5,897,605 issued on Apr. 27, 1999, describes a spread-spectrum receiver with fast signal acquisition that permits realization of a 240 correlator design using a time-shared common circuitry; it has a speed advantage of 5-fold over the conventional 12-channel 48-correlator design. Such speed is still not enough for detection of weak GPS signals in an acceptable time. U.S. Pat. No. 6,606,346 issued on Aug. 12, 2003, describes a method for correlation of GPS signals at high speed, making it possible to realize a high-sensitivity GPS receiver with reasonable signal detection time. This design requires a high clock rate, on the order of 100 MHz or higher, to realize one complete generation of 2046 half-chip-spaced correlation result within 1 msec time of one PN code period. Higher clock rate directly implies more power consumption required; which makes it less suitable for battery-supplied portable designs.
Thus there is a need for a hardware architecture that significantly accelerates signal acquisition speed, achieve high-sensitivity, and runs at a low clock rate for low-power operation on a portable device.